package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 活动管理对象 activity
 * 
 * @author 墨染
 * @date 2024-10-09
 */
public class Activity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动Id */
    private Long activityId;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String activityName;

    /** 活动图片路径 */
    @Excel(name = "活动图片路径")
    private String imgPath;

    /** 活动介绍 */
    @Excel(name = "活动介绍")
    private String activityIntro;

    /** 活动地址 */
    @Excel(name = "活动地址")
    private String activityAddress;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyStartTime;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyEndTime;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date activityStartTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date activityEndTime;

    /** 最大参与人数 */
    @Excel(name = "最大参与人数")
    private Long memberMax;

    /** 最小参与人数 */
    @Excel(name = "最小参与人数")
    private Long memberMin;

    /** 发布者 */
    @Excel(name = "发布者")
    private Long publisher;

    /** 已报名人数 */
    @Excel(name = "已报名人数")
    private Long applyMembers;

    /** 活动二氧化碳减碳量 */
    @Excel(name = "活动二氧化碳减碳量")
    private Double activityCo2;

    @Excel(name = "是否所有人可见（0不可见，1仅组织可见，2所有人可见")
    private Long isVisible;

    /** 删除标识（1删除，0不删除） */
    @Excel(name = "删除标识", readConverterExp = "1=删除，0不删除")
    private Long isDel;

    /** 扩展字段1 */
    @Excel(name = "活动奖励是否结算（0-否，1-是）")
    private Long isSettled;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String ext2;

    /** 扩展字段3 */
    @Excel(name = "扩展字段3")
    private String ext3;

    /** 扩展字段4 */
    @Excel(name = "扩展字段4")
    private String ext4;

    /** 扩展字段5 */
    @Excel(name = "扩展字段5")
    private String ext5;

    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }
    public void setActivityName(String activityName) 
    {
        this.activityName = activityName;
    }

    public String getActivityName() 
    {
        return activityName;
    }
    public void setImgPath(String imgPath) 
    {
        this.imgPath = imgPath;
    }

    public String getImgPath() 
    {
        return imgPath;
    }
    public void setActivityIntro(String activityIntro) 
    {
        this.activityIntro = activityIntro;
    }

    public String getActivityIntro() 
    {
        return activityIntro;
    }
    public void setActivityAddress(String activityAddress) 
    {
        this.activityAddress = activityAddress;
    }

    public String getActivityAddress() 
    {
        return activityAddress;
    }
    public void setApplyStartTime(Date applyStartTime) 
    {
        this.applyStartTime = applyStartTime;
    }

    public Date getApplyStartTime() 
    {
        return applyStartTime;
    }
    public void setApplyEndTime(Date applyEndTime) 
    {
        this.applyEndTime = applyEndTime;
    }

    public Date getApplyEndTime() 
    {
        return applyEndTime;
    }
    public void setActivityStartTime(Date activityStartTime) 
    {
        this.activityStartTime = activityStartTime;
    }

    public Date getActivityStartTime() 
    {
        return activityStartTime;
    }
    public void setActivityEndTime(Date activityEndTime) 
    {
        this.activityEndTime = activityEndTime;
    }

    public Date getActivityEndTime() 
    {
        return activityEndTime;
    }
    public void setMemberMax(Long memberMax) 
    {
        this.memberMax = memberMax;
    }

    public Long getMemberMax() 
    {
        return memberMax;
    }
    public void setMemberMin(Long memberMin) 
    {
        this.memberMin = memberMin;
    }

    public Long getMemberMin() 
    {
        return memberMin;
    }
    public void setPublisher(Long publisher)
    {
        this.publisher = publisher;
    }

    public Long getPublisher()
    {
        return publisher;
    }
    public void setApplyMembers(Long applyMembers) 
    {
        this.applyMembers = applyMembers;
    }

    public Long getApplyMembers() 
    {
        return applyMembers;
    }
    public void setActivityCo2(Double activityCo2)
    {
        this.activityCo2 = activityCo2;
    }

    public Double getActivityCo2()
    {
        return activityCo2;
    }
    public void setIsDel(Long isDel) 
    {
        this.isDel = isDel;
    }

    public Long getIsDel() 
    {
        return isDel;
    }
    public void setIsSettled(Long isSettled)
    {
        this.isSettled = isSettled;
    }

    public Long getIsSettled()
    {
        return isSettled;
    }
    public void setExt2(String ext2) 
    {
        this.ext2 = ext2;
    }

    public String getExt2() 
    {
        return ext2;
    }
    public void setExt3(String ext3) 
    {
        this.ext3 = ext3;
    }

    public String getExt3() 
    {
        return ext3;
    }
    public void setExt4(String ext4) 
    {
        this.ext4 = ext4;
    }

    public String getExt4() 
    {
        return ext4;
    }
    public void setExt5(String ext5) 
    {
        this.ext5 = ext5;
    }

    public String getExt5() 
    {
        return ext5;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("activityId", getActivityId())
            .append("activityName", getActivityName())
            .append("imgPath", getImgPath())
            .append("activityIntro", getActivityIntro())
            .append("activityAddress", getActivityAddress())
            .append("applyStartTime", getApplyStartTime())
            .append("applyEndTime", getApplyEndTime())
            .append("activityStartTime", getActivityStartTime())
            .append("activityEndTime", getActivityEndTime())
            .append("memberMax", getMemberMax())
            .append("memberMin", getMemberMin())
            .append("publisher", getPublisher())
            .append("applyMembers", getApplyMembers())
            .append("activityCo2", getActivityCo2())
            .append("isVisible", getIsVisible())
            .append("isDel", getIsDel())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isSettled", getIsSettled())
            .append("ext2", getExt2())
            .append("ext3", getExt3())
            .append("ext4", getExt4())
            .append("ext5", getExt5())
            .toString();
    }

    public Long getIsVisible() {
        return isVisible;
    }

    public void setIsVisible(Long isVisible) {
        this.isVisible = isVisible;
    }
}
